// models/Discussion.js
const mongoose = require('mongoose');

const discussSchema = new mongoose.Schema({
    authorId: { 
        type: mongoose.Schema.Types.ObjectId, 
        ref: 'User',
        required: true
    },
    title: {  // 新增：讨论标题
        type: String,
        required: true,
        maxlength: 100
    },
    content: {  // 将 discussion 改为 content，更语义化
        type: String, 
        required: true,
        maxlength: 5000
    },
    pub_date: { 
        type: Date, 
        default: Date.now
    },
    last_modified: {  // 新增：最后修改时间
        type: Date,
        default: Date.now
    },
    likes: { 
        type: Number, 
        default: 0
    },
    views: {  // 新增：浏览量
        type: Number,
        default: 0
    },
    comment_count: {  // 新增：评论数
        type: Number,
        default: 0
    },
    status: {  // 新增：状态（正常/删除/置顶等）
        type: String,
        enum: ['active', 'deleted', 'pinned'],
        default: 'active'
    },
    tags: [{  // 新增：标签分类
        type: String,
        maxlength: 20
    }],
    category: {  // 新增：分类
        type: String,
        enum: ['写作技巧', '作品讨论', '行业动态', '求助问答', '闲聊灌水'],
        default: '闲聊灌水'
    }
}, {
    timestamps: true  // 自动添加 createdAt 和 updatedAt
});

// 添加索引以提高查询性能
discussSchema.index({ authorId: 1, pub_date: -1 });
discussSchema.index({ category: 1, pub_date: -1 });
discussSchema.index({ status: 1, pub_date: -1 });

const Discussion = mongoose.model('Discussion', discussSchema);
module.exports = Discussion;